TreeGridLoaded ({ /* JSONP header, to be possible to load from xxx_Jsonp data source */ 
   "Cfg" : { "id": "Slack", "NoVScroll": "1", "IdChars": "0123456789", "NumberId": "1", "Undo": "1", "SuppressCfg": "1"   }, 
   "Cfg_2" : { "DefaultDate": "1/1/2010", "MinMidWidth": "300", "CopyPasteRows": "3"   }, 
   "LeftCols" : [ 
      { "Name": "id", "Type": "Int", "CanEdit": "0"   }  
   ], 
   "Cols" : [ 
      { "Name": "START", "Type": "Date", "Format": "dddddd", "EditFormat": "%d"   }, 
      { "Name": "DUR", "Type": "Float"   }, 
      { "Name": "COMP", "Type": "Float"   }, 
      { "Name": "DES", "Type": "Text"   }, 
      { "Name": "SLACK", "Type": "Float", "CanEdit": "0"   }, 
      { "Name": "ES", "Type": "Date"   }, 
      { "Name": "LF", "Type": "Date"   }  
   ], 
   "RightCols" : [ 
      { "Name": "GANTT", "Type": "Gantt", 
         "GanttDataUnits": "d", "GanttUnits": "d", "GanttLastUnit": "d", "GanttWidth": "22", 
         "GanttDescendants": "DES", "GanttSlack": "SLACK", 
         "GanttStart": "START", "GanttDuration": "DUR", "GanttComplete": "COMP", 
         "GanttMinStart": "ES", "GanttMaxEnd": "LF", 
         "GanttLeft": "1", "GanttRight": "2", 
         "GanttHeader6": "d#%d", 
         "GanttTask": "Main,Run", 
         "GanttBase": "1/1/2010", "GanttFinish": "1/13/2010", 
         "GanttDirection": "0"  
          }  
   ], 
   "Def" : [ 
      // Changes columns to show Run bar instead of the main bar 
      // This way is used just to show all the features in one grid 
      { "Name": "DEFRUN", 
         "Spanned": "1", "DURType": "Text", 
         "GANTTGanttRun": "DUR", "GANTTGanttRunStart": "START", "GANTTGanttRunComplete": "COMP", 
         "GANTTGanttRunSave": "4", 
         "GANTTGanttStart": "", "GANTTGanttDuration": ""  
          }  
   ], 
   "Body" : [ 
      [ 
         { "id": "0"   }, 
         { "id": "1", "START": "1/1/2010", "DUR": "2", "DES": "2", "COMP": "50"   }, 
         { "id": "2", "START": "1/3/2010", "DUR": "2", "DES": "3"   }, 
         { "id": "3", "START": "1/5/2010", "DUR": "2", "DES": "6"   }, 
         { "id": "4", "START": "1/1/2010", "DUR": "3", "COMP": "100", "DES": "5"   }, 
         { "id": "5", "START": "1/4/2010", "DUR": "4", "COMP": "50", "DES": "6"   }, 
         { "id": "6", 
            "Spanned": "1", "STARTRange": "1", "STARTSpan": "2", 
            "GANTTGanttParts": "START", "GANTTGanttComplete": "COMP", 
            "GANTTGanttStart": "", "GANTTGanttDuration": "", 
            "START": "1/8/2010~1/8/2010;1/10/2010~1/11/2010", "DES": "7"  
             }, 
         { "id": "7", "START": "1/12/2010", "DUR": "2"   }, 
         { "id": "8", "START": "1/9/2010", "DUR": "2", "DES": "7"   }, 
         { "id": "9", "START": "1/7/2010", "DUR": "2", "LF": "1/9/2010", "DES": "8"   }, 
         { "id": "10", "START": "1/5/2010", "DUR": "2", "ES": "1/5/2010", "DES": "9"   }, 
         { "id": "11", "START": "1/1/2010", "DUR": "2", "DES": "10"   }, 
         { "id": "12", "START": "1/1/2010", "DUR": "5", "DES": "13", "COMP": "70"   }, 
         { "id": "13", "START": "1/6/2010", "DUR": "4", "DES": "14"   }, 
         { "id": "14", "START": "1/10/2010", "DUR": "0"   }, 
         { "Def": "DEFRUN", "id": "15", "START": "1/1/2010", "DUR": "2,,box 1;1,;2,,box 2", "DES": "-@16", "COMP": "50"   }, 
         { "Def": "DEFRUN", "id": "16", "START": "1/7/2010", "DUR": "2,,box 3;1,,4", "DES": "-@17", "ES": "1/7/2010", "COMP": "40"   }, 
         { "Def": "DEFRUN", "id": "17", "START": "1/10/2010", "DUR": "2,,box 5;1,;1,,6", "DES": "-@18"   }, 
         { "Def": "DEFRUN", "id": "18", "START": "1/14/2010", "DUR": "0,milestone"   }  
      ], 
   ], 
   "Solid" : [ 
      { "Kind":"Topbar", "Space": "0", "Cells": "Base,Finish,Dir,Min,Err,Sep,Crit", 
         "BaseType": "Date", "BaseCanEdit": "1", "BaseWidth": "25", "BaseUndo": "1", 
         "BaseLabel": "Start", "BaseFormat": "dddddd", "BaseEditFormat": "%d", 
         "BaseFormula": "Grid.GetGanttBase()", 
         "BaseOnChange": "Grid.SetGanttBase(Value,2);", 
         "BaseHtmlPrefixFormula": "Grid.Cols.GANTT.GanttBase===\"\"?\"<span style='color:gray;'>\":\"<span>\"", 
         "BaseHtmlPostfix": "</span>", 
         "BaseTip": "Starting date of the whole project.<br>No task should start before it.<br>It is also used when correcting dependencies.", 

         "FinishType": "Date", "FinishCanEdit": "1", "FinishWidth": "25", "FinishUndo": "1", "FinishLeft": "2", 
         "FinishLabel": "Finish", "FinishFormat": "dddddd", "FinishEditFormat": "%d", 
         "FinishFormula": "Grid.GetGanttFinish()", 
         "FinishOnChange": "Grid.SetGanttFinish(Value);", 
         "FinishHtmlPrefixFormula": "Grid.Cols.GANTT.GanttFinish===\"\"?\"<span style='color:gray;'>\":\"<span>\"", 
         "FinishHtmlPostfix": "</span>", 
         "FinishTip": "Finish date of the whole project.<br>If grayed, it is calculated from the last task.<br>It is used to calculate critical path.", 

         "DirType": "Select", "DirLeft": "10", 
         "DirDefaults": "|Schedule from start|Schedule from finish", 
         "DirFormula": "Grid.GetDefaultsValue(Row,Col,Grid.Cols.GANTT.GanttDirection)", 
         "DirOnChange": "Grid.Cols.GANTT.GanttDirection = Grid.GetDefaultsIndex(Row,Col,Value); Grid.ActionCorrectAllDependencies();", 
         "DirTip": "If the tasks are moved rather left or right", 
         "DirWidth": "110", 

         "MinType": "Enum", "MinLabel": "Minimal slack", "MinCanEdit": "1", "MinWidth": "45", "MinLeft": "3", "MinEnum": "|-2|-1|0|1|2|3|4|5", 
         "MinFormula": "Grid.Cols.GANTT.GanttMinSlack", 
         "MinOnChange": "Grid.RefreshGanttSlack(1,Value); Grid.SaveCfg();", 
         "MinTip": "Minimal value for the Slack to be included in critical path", 

         "ErrType": "Enum", "ErrLabel": "Error slack", "ErrCanEdit": "1", "ErrWidth": "45", "ErrLeft": "3", "ErrEnum": "|-2|-1|0|1|2|3|4|5", 
         "ErrFormula": "Grid.Cols.GANTT.GanttErrSlack", 
         "ErrOnChange": "Grid.RefreshGanttSlack(1,null,Value); Grid.SaveCfg();", 
         "ErrTip": "Slack lower than this value will be marked as error", 

         "SepType": "Bool", "SepLabelRight": "Separate slack", "SepCanEdit": "1", "SepLeft": "2", 
         "SepFormula": "Grid.Cols.GANTT.GanttSeparateSlack?1:0", 
         "SepOnChange": "Grid.Cols.GANTT.GanttSeparateSlack = Value; Grid.RefreshGanttSlack(); Grid.SaveCfg();", 
         "SepTip": "If set, calculates finish date separately for every independent group of tasks<br>and creates critical path for every such group<br>In this case is the project finish ignored", 

         "CritType": "Bool", "CritNoColor": "1", "CritCanEdit": "1", "CritLeft": "2", 
         "CritLabelRight": "Critical path", 
         "CritOnChange": "Grid.SetFilter(\"Crit\",Value?\"SLACK!=='' && SLACK<=Grid.Cols.GANTT.GanttMinSlack && COMP!=100\":\"\")"  
          }  
   ], 
   "Header" : { "SortIcons": "2", "id": "id", "START": "Start", "DUR": "Duration", "COMP": "%", "DES": "Descendants", "SLACK": "Slack", "ES": "Early Start", "LF": "Late End"   }, 
   "Media" : [ 
      { "MaxHeight": "800", "Tag": "0", 
         "Cfg" : { "Size": "Low"   }  
      }, 
   ], 
}) /* End of JSONP header */ 